package com.wh.wisdomsite.xbox.st.entity;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.wh.wisdomsite.xbox.pr.entity.Project;
import com.wh.wisdomsite.xbox.us.entity.User;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 采购申请entity
 * @author 刘旭
 * @version V1.0
 * @Package com.wh.wisdomsite.xbox.st.entity
 * @date 2018年12月24日 11:51
 * @Copyright 企业版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2018
 */
@TableName("st_purchaseApply")
public class PurchaseApply extends Model<PurchaseApply> {

    /**
     * 采购申请ID
     */
    @TableId(type = IdType.UUID)
    private String purId;

    /**
     * 合同信息ID
     */
    @TableField("coId")
    private String coId;

    /**
     * 采购单号, 规则生成
     */
    @TableField("purCode")
    private String purCode;

    /**
     * 请购类型
     */
    @TableField("purType")
    private String purType;

    /**
     * 上报状态
     */
    @TableField("reportState")
    private String reportState;

    /**
     * 审核状态
     */
    @TableField("checkState")
    private String checkState;

    /**
     * 请购日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("purDate")
    private Date purDate;

    /**
     * 请购人
     */
    @TableField("purPerson")
    private String purPerson;

    /**
     * 数据状态
     */
    @TableField("dataState")
    private String dataState;

    /**
     * 创建者
     */
    @TableField("createBy")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("createDate")
    private Date createDate;

    /**
     * 更新者
     */
    @TableField("updateBy")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField("updateDate")
    private Date updateDate;

    /**
     * 备注信息
     */
    @TableField("remark")
    private String remark;

    /**
     * 所属合同实体，不入库
     */
    @TableField( exist = false)
    private Contract contract;

    /**
     * 所属项目对象, 不入库
     */
    @TableField( exist = false)
    private Project project;

    /**
     * 所属用户
     */
    @TableField( exist = false)
    private User user;


    public String getPurId() {
        return purId;
    }

    public void setPurId(String purId) {
        this.purId = purId;
    }

    public String getCoId() {
        return coId;
    }

    public void setCoId(String coId) {
        this.coId = coId;
    }

    public String getPurCode() {
        return purCode;
    }

    public void setPurCode(String purCode) {
        this.purCode = purCode;
    }

    public String getPurType() {
        return purType;
    }

    public void setPurType(String purType) {
        this.purType = purType;
    }

    public String getReportState() {
        return reportState;
    }

    public void setReportState(String reportState) {
        this.reportState = reportState;
    }

    public String getCheckState() {
        return checkState;
    }

    public void setCheckState(String checkState) {
        this.checkState = checkState;
    }

    public Date getPurDate() {
        return purDate;
    }

    public void setPurDate(Date purDate) {
        this.purDate = purDate;
    }

    public String getPurPerson() {
        return purPerson;
    }

    public void setPurPerson(String purPerson) {
        this.purPerson = purPerson;
    }

    public String getDataState() {
        return dataState;
    }

    public void setDataState(String dataState) {
        this.dataState = dataState;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Contract getContract() {
        return contract;
    }

    public void setContract(Contract contract) {
        this.contract = contract;
    }

    public Project getProject() {
        return project;
    }

    public void setProject(Project project) {
        this.project = project;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Override
    protected Serializable pkVal() {
        return null;
    }
}
